package com.ruantu.clothing.service;

import com.ruantu.clothing.entity.*;
import com.ruantu.clothing.entity.report.ChuKuReport;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpSession;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * Created by Administrator on 2018/7/9 0009.
 */


public interface ChuKuService {

    int addChuKu(User u, ChuKu ck, String chukusonString);

    List<ChuKu> findAllChuKuList(ChuKu ck, PageBean page);

    List<DanPro> selectAllChuKuSonForCHuKuIdService(String chukuId, int type);//根据单号获取出库单子信息

    Integer updateStateService(Integer state, String beizhu, User u, String chukuId);//改变出库单状态

    Integer delChuKu(String chukuId, User u);//删除出库单

    List<ChuKu> xiugaiChuKuService(String chukuId, User u);//修改出库单

    Integer ChuKu(User u, String chukuId);//出库

    int saveLingshou(ChuKu chuKu, String a);

    List<ChuKu> selectChuKuDan(String kehuId,String productId);//获得已完成的出库单退货用

    /**
     * 查询销售总单
     *
     * @return
     */
    List<ChuKu> findSaleList(ChuKu chuKu, String startTime, String endTime, Integer findStyle, PageBean pageBean);

    /**
     * @param id
     * @return
     */
    List<Sale> findSaleById(String id);

    /**
     * 查询退货商品编号列表
     *
     * @param id
     * @return
     */
    List<Sale> findTuihuo(String id);

    /**
     * 根据出库id以及编号查询
     *
     * @param sale
     * @return
     */
    Sale findTuiHuoByProductionDetailsIdWithProductCode(Sale sale);

    /**
     * 保存零售退货单
     *
     * @param chuKu,a
     * @return
     */
    int saveTuihuo(ChuKu chuKu, String danjuId, String a);

    /**
     * 查询当天的销售额
     *
     * @param user
     * @return
     */
    Double findXiaoshou(User user);

    /**
     * 查询小票
     *
     * @param id
     * @return
     */
    List<SaleXiaoPiao> findSaleXiaopiao(String id);


    List<YearAndSeason> selectYearAndSeasaonSevice();

    /***
     * 出库报表
     * @param page
     * @return
     */
    List<ChuKuReport> selectChuKuReportList(PageBean page);

    /***
     * 导出出库报表
     * @param page
     * @return
     */
    HSSFWorkbook selectChuKuReportListDaoChu(PageBean page);

    /***
     * 添加回执单
     * @param
     * @return
     */
    Integer addPicService(String chukuId,MultipartFile upfile,HttpSession session);

}
